#include<bits/stdc++.h>
using namespace std;
int d[1000000]={0};
void kmp(string a){
	int j=-1;
	d[0]=-1;
	for(int i=1;i<a.length();i++){
		while(j!=-1&&a[j+1]==a[i])
		j=d[j];
		if(a[j+1]==a[i])
		j++;
		d[i]=j;
	}
	
}
int main(){
	string a,b;
	cin>>a>>b;
	kmp(b);
	for(int j=-1,i=0;i<a.length();i++){
		while(j!=-1&&b[j+1]!=a[i])
		j=d[j];
		if(b[j+1]==a[i])
		j++;
		if(j==b.length()-1){
		cout<<i-j+1<<endl;
		j=d[j];
		}
	}
	cout<<endl;
	for(int i=0;i<b.length();i++){
		cout<<d[i]+1;
		if(i<b.length()-1)
		cout<<' ';
	}
}
